package co.edu.uniandes.aeroAndes.dao;
import javax.jms.*;
import javax.naming.*;

public class EnvioJMS{
	public EnvioJMS (String elMensaje){
		InitialContext contextoInicial = null;
		QueueSession sesion = null;
		try {
			// Conseguimos de la JNDI los objetos administrados
			contextoInicial = new InitialContext();
			QueueConnectionFactory factory =
			(QueueConnectionFactory)contextoInicial.lookup("QueueConnectionFactory");
			Queue cola = (Queue)contextoInicial.lookup("Cola");
			// Creamos la conexion y la sesion
			QueueConnection conexion = factory.createQueueConnection();
			sesion = conexion.createQueueSession(true,sesion.AUTO_ACKNOWLEDGE);
			// Creamos una sesion de envio
			QueueSender enviaACola = sesion.createSender(cola);
			// Creamos un mensaje
			TextMessage mensaje = sesion.createTextMessage();
			mensaje.setText(elMensaje);
			// Lo enviamos
			enviaACola.send(mensaje);
			System.out.println("Mensaje enviado: " + mensaje.getText());
			//se hace el commit de la transaccion
			sesion.commit();
			// Cerramos la conexion
			conexion.close();
		} catch (NamingException e){			
			e.printStackTrace();
		} catch (JMSException e) {
			e.printStackTrace();
		}
	}
}